//package xyz.worldzhile.chatroom.controller;
//
//
//import com.alibaba.fastjson.JSON;
//import org.springframework.stereotype.Component;
//import org.springframework.stereotype.Controller;
//import xyz.worldzhile.chatroom.config.GetHttpSession;
//import xyz.worldzhile.chatroom.utils.MessageUtil;
//import xyz.worldzhile.chatroom.vo.Message;
//
//import javax.jws.Oneway;
//import javax.servlet.http.HttpSession;
//import javax.websocket.*;
//import javax.websocket.server.ServerEndpoint;
//import java.util.HashMap;
//import java.util.Map;
//import java.util.Set;
//import java.util.concurrent.ConcurrentHashMap;
//
//@Component
////ws://localhost:8080/chat
//@ServerEndpoint(value = "/chat",configurator=GetHttpSession.class)
//public class ChatWebSocket    {
//
//
//    public static void main(String[] args) {
//        System.out.println("1123");
//    }
//    //多个实例的 总管理  并发安全map
//    static Map<String,ChatWebSocket> collections= new ConcurrentHashMap();
//
//
//    //发送消息的
//    private Session session;
//
//    //获取用户名的
//    private HttpSession httpSession;
//
//
//    @OnOpen
//    public void onOpen(Session session, EndpointConfig endpointConfig) {
//        System.out.println("连接建立");
//        this.session=session;
//        httpSession= (HttpSession) endpointConfig.getUserProperties().get(HttpSession.class.getName());
//
//        String user = (String) httpSession.getAttribute("user");
//        collections.put(user,this);
//
//        //发送系统消息
//        Set<String> names = collections.keySet();
//
//        String mess = MessageUtil.messageResultString(true, null, names);
//        try {
//            for (String name : names) {
//                collections.get(name).session.getBasicRemote().sendText(mess);
//            }
//        }catch (Exception e){
//            e.printStackTrace();
//        }
//
//    }
//
///*    public void sendSystemMessage(){
//        new Result
//
//    }*/
//
//    @OnMessage
//    public void onMessage(String msg,Session session) {
//
//        Message message = JSON.parseObject(msg, Message.class);
//
//
//        String messageResultString = MessageUtil.messageResultString(false, (String) httpSession.getAttribute("user"), message.getMessage());
//
//        String toName = message.getToName();
//        try {
//            collections.get(toName).session.getBasicRemote().sendText(messageResultString);
//        }catch (Exception e){
//            e.printStackTrace();
//        }
//
//        System.out.println(msg);
//        System.out.println("-----");
//    }
//
//    @OnClose
//    public void onClose(Session session, CloseReason closeReason) {
//    }
//
//
///*    @OnError
//    public void onError(Session session, Throwable throwable) {
//    }*/
//}
//
//
